#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>

int main(int argc, char const *argv[])
{
    int fd;
    char *myfifo = "/tmp/myfifo";
    char buf[1024];
    char *data = "Hello from C program!";

    /* 创建命名管道 */
    mkfifo(myfifo, 0666);
    printf("Opening pipe...\n");

    /* 打开命名管道 */
    fd = open(myfifo, O_WRONLY);
    printf("Writing data to Pipe...\n");

    /* 写数据到管道中 */
    write(fd, data, strlen(data) + 1);
    printf("Data written to Pipe: %s\n", data);

    /* 关闭管道 */
    close(fd);
    unlink(myfifo);

    return 0;
}